
interface LocaleData {
    code: string;
    name: string;
    region: string;
    englishName: string;
    flag: string;
}

export const locales: LocaleData[] = [
    { code: "af", name: "Afrikaans", region: "", englishName: "Afrikaans", flag: "🌐" },
    { code: "ar", name: "العربية", region: "", englishName: "Arabic", flag: "🌐" },
    {
        code: "ar-SA",
        name: "العربية",
        region: "المملكة العربية السعودية",
        englishName: "Arabic",
        flag: "🇸🇦",
    },
    { code: "be", name: "Беларуская", region: "", englishName: "Belarusian", flag: "🌐" },
    { code: "bg", name: "Български", region: "", englishName: "Bulgarian", flag: "🌐" },
    { code: "bg-BG", name: "Български", region: "България", englishName: "Bulgarian", flag: "🇧🇬" },
    { code: "ca", name: "Català", region: "", englishName: "Catalan", flag: "🌐" },
    { code: "cs", name: "Čeština", region: "", englishName: "Czech", flag: "🌐" },
    { code: "cs-CZ", name: "Čeština", region: "Česko", englishName: "Czech", flag: "🇨🇿" },
    { code: "cy", name: "Cymraeg", region: "", englishName: "Welsh", flag: "🌐" },
    { code: "da", name: "Dansk", region: "", englishName: "Danish", flag: "🌐" },
    { code: "da-DK", name: "Dansk", region: "Danmark", englishName: "Danish", flag: "🇩🇰" },
    { code: "de", name: "Deutsch", region: "", englishName: "German", flag: "🌐" },
    { code: "de-AT", name: "Deutsch", region: "Österreich", englishName: "German", flag: "🇦🇹" },
    { code: "de-BE", name: "Deutsch", region: "Belgien", englishName: "German", flag: "🇧🇪" },
    { code: "de-CH", name: "Deutsch", region: "Schweiz", englishName: "German", flag: "🇨🇭" },
    { code: "de-DE", name: "Deutsch", region: "Deutschland", englishName: "German", flag: "🇩🇪" },
    { code: "el", name: "Ελληνικά", region: "", englishName: "Greek", flag: "🌐" },
    { code: "el-GR", name: "Ελληνικά", region: "Ελλάδα", englishName: "Greek", flag: "🇬🇷" },
    { code: "en", name: "English", region: "", englishName: "English", flag: "🌐" },
    { code: "en-AU", name: "English", region: "Australia", englishName: "English", flag: "🇦🇺" },
    { code: "en-CA", name: "English", region: "Canada", englishName: "English", flag: "🇨🇦" },
    {
        code: "en-GB",
        name: "English",
        region: "United Kingdom",
        englishName: "English",
        flag: "🇬🇧",
    },
    { code: "en-IE", name: "English", region: "Ireland", englishName: "English", flag: "🇮🇪" },
    { code: "en-IN", name: "English", region: "India", englishName: "English", flag: "🇮🇳" },
    { code: "en-NZ", name: "English", region: "New Zealand", englishName: "English", flag: "🇳🇿" },
    { code: "en-PH", name: "English", region: "Philippines", englishName: "English", flag: "🇵🇭" },
    { code: "en-PK", name: "English", region: "Pakistan", englishName: "English", flag: "🇵🇰" },
    { code: "en-SG", name: "English", region: "Singapore", englishName: "English", flag: "🇸🇬" },
    { code: "en-US", name: "English", region: "United States", englishName: "English", flag: "🇺🇸" },
    { code: "en-ZA", name: "English", region: "South Africa", englishName: "English", flag: "🇿🇦" },
    { code: "es", name: "Español", region: "", englishName: "Spanish", flag: "🌐" },
    { code: "es-AR", name: "Español", region: "Argentina", englishName: "Spanish", flag: "🇦🇷" },
    { code: "es-CL", name: "Español", region: "Chile", englishName: "Spanish", flag: "🇨🇱" },
    { code: "es-CO", name: "Español", region: "Colombia", englishName: "Spanish", flag: "🇨🇴" },
    { code: "es-ES", name: "Español", region: "España", englishName: "Spanish", flag: "🇪🇸" },
    { code: "es-MX", name: "Español", region: "México", englishName: "Spanish", flag: "🇲🇽" },
    { code: "es-PE", name: "Español", region: "Perú", englishName: "Spanish", flag: "🇵🇪" },
    { code: "et", name: "Eesti", region: "", englishName: "Estonian", flag: "🌐" },
    { code: "et-EE", name: "Eesti", region: "Eesti", englishName: "Estonian", flag: "🇪🇪" },
    { code: "eu", name: "Euskara", region: "", englishName: "Basque", flag: "🌐" },
    { code: "fa", name: "فارسی", region: "", englishName: "Persian", flag: "🌐" },
    { code: "fi", name: "Suomi", region: "", englishName: "Finnish", flag: "🌐" },
    { code: "fi-FI", name: "Suomi", region: "Suomi", englishName: "Finnish", flag: "🇫🇮" },
    { code: "fr", name: "Français", region: "", englishName: "French", flag: "🌐" },
    { code: "fr-BE", name: "Français", region: "Belgique", englishName: "French", flag: "🇧🇪" },
    { code: "fr-CA", name: "Français", region: "Canada", englishName: "French", flag: "🇨🇦" },
    { code: "fr-CH", name: "Français", region: "Suisse", englishName: "French", flag: "🇨🇭" },
    { code: "fr-FR", name: "Français", region: "France", englishName: "French", flag: "🇫🇷" },
    { code: "ga", name: "Gaeilge", region: "", englishName: "Irish", flag: "🌐" },
    { code: "gd", name: "Gàidhlig", region: "", englishName: "Scottish Gaelic", flag: "🌐" },
    { code: "gl", name: "Galego", region: "", englishName: "Galician", flag: "🌐" },
    { code: "he", name: "עברית", region: "", englishName: "Hebrew", flag: "🇮🇱" },
    { code: "hi", name: "हिन्दी", region: "", englishName: "Hindi", flag: "🌐" },
    { code: "hr", name: "Hrvatski", region: "", englishName: "Croatian", flag: "🌐" },
    { code: "hu", name: "Magyar", region: "", englishName: "Hungarian", flag: "🌐" },
    { code: "hu-HU", name: "Magyar", region: "Magyarország", englishName: "Hungarian", flag: "🇭🇺" },
    { code: "id", name: "Indonesia", region: "", englishName: "Indonesian", flag: "🌐" },
    {
        code: "id-ID",
        name: "Indonesia",
        region: "Indonesia",
        englishName: "Indonesian",
        flag: "🇮🇩",
    },
    { code: "is", name: "Íslenska", region: "", englishName: "Icelandic", flag: "🌐" },
    { code: "it", name: "Italiano", region: "", englishName: "Italian", flag: "🌐" },
    { code: "it-CH", name: "Italiano", region: "Svizzera", englishName: "Italian", flag: "🇨🇭" },
    { code: "it-IT", name: "Italiano", region: "Italia", englishName: "Italian", flag: "🇮🇹" },
    { code: "ja", name: "日本語", region: "", englishName: "Japanese", flag: "🌐" },
    { code: "ja-JP", name: "日本語", region: "日本", englishName: "Japanese", flag: "🇯🇵" },
    { code: "kn", name: "ಕನ್ನಡ", region: "", englishName: "Kannada", flag: "🌐" },
    { code: "ko", name: "한국어", region: "", englishName: "Korean", flag: "🌐" },
    { code: "ko-KR", name: "한국어", region: "대한민국", englishName: "Korean", flag: "🇰🇷" },
    { code: "lt", name: "Lietuvių", region: "", englishName: "Lithuanian", flag: "🌐" },
    { code: "lv", name: "Latviešu", region: "", englishName: "Latvian", flag: "🌐" },
    { code: "ml", name: "മലയാളം", region: "", englishName: "Malayalam", flag: "🌐" },
    { code: "mr", name: "मराठी", region: "", englishName: "Marathi", flag: "🌐" },
    { code: "nb", name: "Norsk Bokmål", region: "", englishName: "Norwegian Bokmål", flag: "🌐" },
    {
        code: "nb-NO",
        name: "Norsk Bokmål",
        region: "Norge",
        englishName: "Norwegian Bokmål",
        flag: "🇳🇴",
    },
    { code: "nl", name: "Nederlands", region: "", englishName: "Dutch", flag: "🌐" },
    { code: "nl-BE", name: "Nederlands", region: "België", englishName: "Dutch", flag: "🇧🇪" },
    { code: "nl-NL", name: "Nederlands", region: "Nederland", englishName: "Dutch", flag: "🇳🇱" },
    { code: "pl", name: "Polski", region: "", englishName: "Polish", flag: "🌐" },
    { code: "pl-PL", name: "Polski", region: "Polska", englishName: "Polish", flag: "🇵🇱" },
    { code: "pt", name: "Português", region: "", englishName: "Portuguese", flag: "🌐" },
    { code: "pt-BR", name: "Português", region: "Brasil", englishName: "Portuguese", flag: "🇧🇷" },
    { code: "pt-PT", name: "Português", region: "Portugal", englishName: "Portuguese", flag: "🇵🇹" },
    { code: "ro", name: "Română", region: "", englishName: "Romanian", flag: "🌐" },
    { code: "ro-RO", name: "Română", region: "România", englishName: "Romanian", flag: "🇷🇴" },
    { code: "ru", name: "Русский", region: "", englishName: "Russian", flag: "🌐" },
    { code: "ru-RU", name: "Русский", region: "Россия", englishName: "Russian", flag: "🇷🇺" },
    { code: "sk", name: "Slovenčina", region: "", englishName: "Slovak", flag: "🌐" },
    { code: "sl", name: "Slovenščina", region: "", englishName: "Slovenian", flag: "🌐" },
    { code: "sq", name: "Shqip", region: "", englishName: "Albanian", flag: "🌐" },
    { code: "sv", name: "Svenska", region: "", englishName: "Swedish", flag: "🌐" },
    { code: "sv-SE", name: "Svenska", region: "Sverige", englishName: "Swedish", flag: "🇸🇪" },
    { code: "ta", name: "தமிழ்", region: "", englishName: "Tamil", flag: "🌐" },
    { code: "te", name: "తెలుగు", region: "", englishName: "Telugu", flag: "🌐" },
    { code: "th", name: "ไทย", region: "", englishName: "Thai", flag: "🌐" },
    { code: "th-TH", name: "ไทย", region: "ไทย", englishName: "Thai", flag: "🇹🇭" },
    { code: "tr", name: "Türkçe", region: "", englishName: "Turkish", flag: "🌐" },
    { code: "tr-TR", name: "Türkçe", region: "Türkiye", englishName: "Turkish", flag: "🇹🇷" },
    { code: "uk", name: "Українська", region: "", englishName: "Ukrainian", flag: "🌐" },
    { code: "ur", name: "اردو", region: "", englishName: "Urdu", flag: "🌐" },
    { code: "vi", name: "Tiếng Việt", region: "", englishName: "Vietnamese", flag: "🌐" },
    {
        code: "vi-VN",
        name: "Tiếng Việt",
        region: "Việt Nam",
        englishName: "Vietnamese",
        flag: "🇻🇳",
    },
    { code: "zh", name: "中文", region: "", englishName: "Chinese", flag: "🌐" },
    { code: "zh-CN", name: "中文", region: "中国", englishName: "Chinese", flag: "🇨🇳" },
    {
        code: "zh-HK",
        name: "中文",
        region: "中國香港特別行政區",
        englishName: "Chinese",
        flag: "🇭🇰",
    },
    { code: "zh-TW", name: "中文", region: "台灣", englishName: "Chinese", flag: "🇹🇼" },
];

export type SearchLocale = (typeof locales)[number]["code"] | "all";
